// AWTCheckboxGroup.cpp: implementation of the AWTCheckboxGroup class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "AWTCheckboxGroup.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

IMPLEMENT_DYNAMIC(AWTCheckboxGroup, AWTObject)

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

AWTCheckboxGroup::AWTCheckboxGroup()
{
	m_selectedCheckbox = NULL;
	m_first = TRUE;
	m_refCount = 0;
}

AWTCheckboxGroup::~AWTCheckboxGroup()
{

}

void AWTCheckboxGroup::setCurrent(AWTCheckbox* box) 
{
	if (box != NULL && box->getCheckboxGroup() != this) 
	{
	  return;
	}
	AWTCheckbox* oldChoice = m_selectedCheckbox;
	m_selectedCheckbox = box;
	if ((oldChoice != NULL) && (oldChoice != box)) 
	{
	  oldChoice->setState(FALSE);
	}
	if (box != NULL && oldChoice != box && !box->getState()) 
	{
	  box->setStateInternal(TRUE);
	}
}
